Zadani hodnoty Now () v dotazu ADOQuery
Otázka od: administrator@novogear.cz
24. 5. 2004 13:52
Mam problem se zpusobem zadani hodnoty now() v ADOQuery
kde mi Delphi prikaz
UPDATE TZakazky SET TZakazky.DatumKonec = Now(), TZakazky.Konec =1
WHERE (((TZakazky.ID_Zakazky)=:PID_ZakazkyK))
nebere a hlasi spatnou syntaxi.
Nevite jak na to?
Dekuji
S pozdravem
Ondrej Prokop
Odpovedá: horky@cominn.cz
24. 5. 2004 14:19
> From: administrator@novogear.cz [mailto:administrator@novogear.cz]
> Sent: Monday, May 24, 2004 2:31 PM
>
> Mam problem se zpusobem zadani hodnoty now() v ADOQuery
>
> UPDATE TZakazky SET TZakazky.DatumKonec = Now(), TZakazky.Konec =1
> WHERE (((TZakazky.ID_Zakazky)=:PID_ZakazkyK))
>
Pouzivej zadavani pres parametry, tak jako to mas ve Where:
UPDATE TZakazky SET TZakazky.DatumKonec = :Nyni, TZakazky.Konec =1
WHERE (((TZakazky.ID_Zakazky)=:PID_ZakazkyK))
ParamByName('Nyni').AsDateTime := Now;
ParamByName('PID_ZakazkyK').AsInteger := MojeID;
--
S pozdravem Karel Horky, D7, FB 1.0.3, IBX 7.08, WXP SP1
[mailto:horky@cominn.cz]
Odpovedá: Ondrej Kelle
24. 5. 2004 14:48
>> Mam problem se zpusobem zadani hodnoty now() v ADOQuery
>>
>> UPDATE TZakazky SET TZakazky.DatumKonec = Now(), TZakazky.Konec =1
>> WHERE (((TZakazky.ID_Zakazky)=:PID_ZakazkyK))
>>
>
> Pouzivej zadavani pres parametry, tak jako to mas ve Where:
>
> UPDATE TZakazky SET TZakazky.DatumKonec = :Nyni, TZakazky.Konec =1
> WHERE (((TZakazky.ID_Zakazky)=:PID_ZakazkyK))
>
> ParamByName('Nyni').AsDateTime := Now;
> ParamByName('PID_ZakazkyK').AsInteger := MojeID;
Autor povodnej otazky zrejme potrebuje aktualny cas na servri. (Vkladanie
hodnoty z klienta zrejme nevyhovuje, pretoze rozne klientske stanice mozu
mat cas nastaveny rozne.)
V takom pripade potrebuje vediet syntax SQL pre vyjadrenie hodnoty "now" pre
danu databazu (mam pocit, ze toto je zavisle od konkretnej databazy). Kedze
neuviedol, o aku databazu sa jedna, tazko na tuto otazku odpovedat.
Napriklad pre Interbase/Firebird je to 'NOW':
UPDATE TZakazky SET TZakazky.DatumKonec = 'NOW', TZakazky.Konec = 1
WHERE (TZakazky.ID_Zakazky = :PID_ZakazkyK)
Mozno by tiez stalo za to napisat si trigger, ktory by ten datum doplnil
automaticky, vzdy, ked je obsah pola Konec zmeneny na hodnotu 1.
HTH
TOndrej
Odpovedá: administrator@novogear.cz
24. 5. 2004 15:39
Jedna se o MS SQL2000
>
> Autor povodnej otazky zrejme potrebuje aktualny cas na servri. (Vkladanie
> hodnoty z klienta zrejme nevyhovuje, pretoze rozne klientske stanice mozu
> mat cas nastaveny rozne.)
> V takom pripade potrebuje vediet syntax SQL pre vyjadrenie hodnoty "now" pre
> danu databazu (mam pocit, ze toto je zavisle od konkretnej databazy). Kedze
> neuviedol, o aku databazu sa jedna, tazko na tuto otazku odpovedat.
> Napriklad pre Interbase/Firebird je to 'NOW':
>
Odpovedá: Blazek Jaroslav
24. 5. 2004 15:38
Ahoj,
> administrator@novogear.cz 24.5.2004 14:30:42 >>>
>Mam problem se zpusobem zadani hodnoty now() v ADOQuery
>kde mi Delphi prikaz
>UPDATE TZakazky SET TZakazky.DatumKonec = Now(), TZakazky.Konec =1
>WHERE (((TZakazky.ID_Zakazky)=:PID_ZakazkyK))
a nad jakou databazi to jede?
v MSSQL treba takto
UPDATE TZakazky
SET DatumKonec = GETDATE(),
Konec = 1
WHERE ID_Zakazky = :PID_ZakazkyK
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá: administrator@novogear.cz
25. 5. 2004 12:16
dekuji presne tak to funguje
S pozdravem
Ondrej Prokop
>
> a nad jakou databazi to jede?
> v MSSQL treba takto
>
> UPDATE TZakazky
> SET DatumKonec = GETDATE(),
> Konec = 1
> WHERE ID_Zakazky = :PID_ZakazkyK
>
>